home *** CD-ROM | disk | FTP | other *** search
/ Cre@te Online 2000 December / Cre@teOnline CD05.iso / MacSoft / XML Instance.sea / XML Instance / Required / ldapjdk.jar / com / netscape / sasl / SASLMechanismFactory.class (.txt) < prev    next >
Encoding:
Java Class File  |  1999-04-13  |  2.0 KB  |  60 lines

  1. package com.netscape.sasl;
  2.  
  3. import java.lang.reflect.Constructor;
  4.  
  5. public class SASLMechanismFactory {
  6.    public static SASLClientMechanismDriver getMechanismDriver(String[] var0, String var1) throws SASLException {
  7.       for(int var2 = 0; var2 < var0.length; ++var2) {
  8.          try {
  9.             SASLClientMechanismDriver var3 = getMechanismDriver(var0[var2], var1);
  10.             if (var3 != null) {
  11.                return var3;
  12.             }
  13.          } catch (SASLException var4) {
  14.          }
  15.       }
  16.  
  17.       throw new SASLException();
  18.    }
  19.  
  20.    public static SASLClientMechanismDriver getMechanismDriver(String var0, String var1) throws SASLException {
  21.       String var2 = var1 + "." + var0;
  22.       Object var3 = null;
  23.  
  24.       try {
  25.          Class var4 = Class.forName(var2);
  26.          Constructor[] var5 = var4.getConstructors();
  27.  
  28.          for(int var6 = 0; var6 < var5.length; ++var6) {
  29.             Class[] var7 = var5[var6].getParameterTypes();
  30.             if (var7.length == 0) {
  31.                SASLClientMechanismDriver var12 = (SASLClientMechanismDriver)var5[var6].newInstance((Object[])null);
  32.                return var12;
  33.             }
  34.  
  35.             if (var7.length == 1 && var7[0].getName().equals("java.lang.String")) {
  36.                Object[] var8 = new Object[]{var0};
  37.                SASLClientMechanismDriver var11 = (SASLClientMechanismDriver)var5[var6].newInstance(var8);
  38.                return var11;
  39.             }
  40.          }
  41.  
  42.          System.out.println("No appropriate constructor in " + var0);
  43.       } catch (ClassNotFoundException var9) {
  44.          System.out.println("Class " + var0 + " not found");
  45.       } catch (Exception var10) {
  46.          System.out.println("Failed to create " + var0 + " mechanism driver");
  47.       }
  48.  
  49.       throw new SASLException();
  50.    }
  51.  
  52.    public static String[] getMechanisms() throws SASLException {
  53.       throw new SASLException("Method getMechanisms not supported now", 80);
  54.    }
  55.  
  56.    public static String[] getMechanisms(String var0) throws SASLException {
  57.       throw new SASLException("Method getMechanisms not supported now");
  58.    }
  59. }
  60.